Probo Reseller API
Configure endpoint example
The configuration endpoint allow to configure a product in the way a product is configured on the Probo webshop.
In this example a canvas is being configured via POST https://api.proboprints.com/products/configure
In each step the selected and avaiable options are included in the response. The final response includes price information and the calculation\_id referring to this configuration.
Cross sells wil only be shown for the last product in the products array.
Step 1 - Get initial options (CONFIGURATION START)
Payload:
{
"products": [
{
"code": "banner-510",
"options": []
}
]
}
Response:
{
"status": "ok",
"code": 200,
"message": "Options calculated",
"products": [
{
"code": "banner-510",
"can_order": false,
"amount": 0,
"width": 0,
"height": 0,
"length": 0,
"available_options": [
{
"code": "size",
"can_order": null,
"amount": null,
"width": null,
"height": null,
"length": null,
"children": [
{
"type_code": "width",
"name": "Breedte",
"description": null,
"value": null,
"code": "width",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"last_option": false,
"images": []
},
{
"type_code": "height",
"name": "Hoogte",
"description": null,
"value": null,
"code": "height",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"last_option": false,
"images": []
}
]
},
{
"code": "amount",
"can_order": null,
"amount": null,
"width": null,
"height": null,
"length": null,
"children": [
{
"type_code": "amount",
"name": "Hoeveelheid",
"description": null,
"value": null,
"code": "amount",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": []
}
]
}
],
"selected_options": []
}
]
}
Step 2 - Size and amount
Payload:
{
"products": [
{
"code": "banner-510",
"options": [
{
"code": "width",
"value": "200"
},
{
"code": "height",
"value": "100"
},
{
"code": "amount",
"value": "1"
}
]
}
]
}
Response:
{
"status": "ok",
"code": 200,
"message": "Options calculated",
"products": [
{
"code": "banner-510",
"can_order": false,
"amount": 1,
"width": 200,
"height": 100,
"length": 0,
"available_options": [
{
"code": "finishing-per-side-all-sides",
"can_order": null,
"amount": null,
"width": null,
"height": null,
"length": null,
"children": [
{
"type_code": "radio",
"name": "Voor alle zijden gelijk",
"description": "Alle zijden van het doek krijgen dezelfde afwerking.",
"value": null,
"code": "finishing-all-sides",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/72/99e39932389f5591.svg"
}
]
},
{
"type_code": "radio",
"name": "Per zijde verschillend",
"description": "Kies voor elke zijde de gewenste afwerking.",
"value": null,
"code": "finishing-per-side",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/93/f2fca3118a52a38d.svg"
}
]
}
]
}
],
"selected_options": [
{
"type_code": "width",
"name": "Breedte",
"description": null,
"value": "200",
"code": "width",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "height",
"name": "Hoogte",
"description": null,
"value": "100",
"code": "height",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "amount",
"name": "Hoeveelheid",
"description": null,
"value": "1",
"code": "amount",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "amount",
"images": []
}
]
}
]
}
Step 3 - Finishing all sided
Payload:
{
"products": [
{
"code": "banner-510",
"options": [
{
"code": "width",
"value": "40"
},
{
"code": "height",
"value": "60"
},
{
"code": "amount",
"value": "2"
},
{
"code": "finishing-all-sides"
}
]
}
]
}
Response:
{
"status": "ok",
"code": 200,
"message": "Options calculated",
"products": [
{
"code": "banner-510",
"can_order": false,
"amount": 2,
"width": 40,
"height": 60,
"length": 0,
"available_options": [
{
"code": "finishing",
"can_order": null,
"amount": null,
"width": null,
"height": null,
"length": null,
"children": [
{
"type_code": "radio",
"name": "Snijden",
"description": "We snijden het doek uit op het gewenste formaat.",
"value": null,
"code": "cut",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": true,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/74/6f7a271da0ab0f87.jpg"
}
]
},
{
"type_code": "radio",
"name": "Contoursnijden",
"description": "We snijden het doek in de gewenste vorm op basis van de cutcontour(en) in het bestand.",
"value": null,
"code": "cut-contour",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201805/1381/d7fed5de59c061c8.svg"
}
]
},
{
"type_code": "radio",
"name": "Ringen",
"description": "Het doek wordt voorzien van ringen. Kies zelf de positie van de ringen.",
"value": null,
"code": "rings",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/75/eda459ecce5ac871.jpg"
}
]
},
{
"type_code": "radio",
"name": "Zomen",
"description": "Het doek krijgt een zoom van 4 cm. De zoom wordt met hitte gelast.",
"value": null,
"code": "hem",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": true,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/83/8a04d9b8bf62350d.jpg"
}
]
},
{
"type_code": "radio",
"name": "Zomen en ringen",
"description": "Voor de bevestiging krijgt het doek rondom een zoom van 4 cm en ringen van nikkel. De zoom wordt met hitte gelast.",
"value": null,
"code": "hem-and-rings",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/84/af0c678a9f4c4248.jpg"
}
]
},
{
"type_code": "radio",
"name": "Zomen en ringen voor Stormfix",
"description": "Het doek krijgt rondom een zoom van 4 cm en ringen van nikkel voor Stormfix spanners. De zoom wordt met hitte gelast.",
"value": null,
"code": "hem-and-rings-stormfix",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/85/02116c2407e33cbf.jpg"
}
]
},
{
"type_code": "radio",
"name": "Klittenband",
"description": "Voor de bevestiging stikken we klittenband op het doek. Je kiest zelf de positie van het klittenband en of je wit of zwart klittenband aan voor- of achterzijde wilt.",
"value": null,
"code": "velcro",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": false,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/166/f5b10c35485e6064.jpg"
}
]
},
{
"type_code": "radio",
"name": "Ronde pees (wit)",
"description": "We werken het doek af met een ronde siliconen pees van 7 mm voor bevestiging in een frame.",
"value": null,
"code": "round-tendon",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"last_option": true,
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201901/1794/c36a00ab3c6c0558.jpg"
}
]
}
]
}
],
"selected_options": [
{
"type_code": "width",
"name": "Breedte",
"description": null,
"value": "40",
"code": "width",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "height",
"name": "Hoogte",
"description": null,
"value": "60",
"code": "height",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "amount",
"name": "Hoeveelheid",
"description": null,
"value": "2",
"code": "amount",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "amount",
"images": []
},
{
"type_code": "radio",
"name": "Voor alle zijden gelijk",
"description": "Alle zijden van het doek krijgen dezelfde afwerking.",
"value": null,
"code": "finishing-all-sides",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "finishing-per-side-all-sides",
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/72/99e39932389f5591.svg"
}
]
}
]
}
]
}
Step 4 - Cut all sides (CONFIGURATION COMPLETED)
Payload:
{
"products": [
{
"code": "banner-510",
"options": [
{
"code": "width",
"value": "40"
},
{
"code": "height",
"value": "60"
},
{
"code": "amount",
"value": "2"
},
{
"code": "finishing-all-sides"
},
{
"code": "cut"
}
]
}
]
}
Response:
{
"status": "ok",
"code": 200,
"message": "Options calculated",
"products": [
{
"code": "banner-510",
"can_order": true,
"amount": 2,
"width": 40,
"height": 60,
"length": 0,
"available_options": [],
"selected_options": [
{
"type_code": "width",
"name": "Breedte",
"description": null,
"value": "40",
"code": "width",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "height",
"name": "Hoogte",
"description": null,
"value": "60",
"code": "height",
"default_value": null,
"min_value": "0.00",
"max_value": "99999.00",
"step_size": null,
"scale": 1,
"reversible": true,
"parent_code": "size",
"images": []
},
{
"type_code": "amount",
"name": "Hoeveelheid",
"description": null,
"value": "2",
"code": "amount",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "amount",
"images": []
},
{
"type_code": "radio",
"name": "Voor alle zijden gelijk",
"description": "Alle zijden van het doek krijgen dezelfde afwerking.",
"value": null,
"code": "finishing-all-sides",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "finishing-per-side-all-sides",
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/72/99e39932389f5591.svg"
}
]
},
{
"type_code": "radio",
"name": "Snijden",
"description": "We snijden het doek uit op het gewenste formaat.",
"value": null,
"code": "cut",
"default_value": null,
"min_value": null,
"max_value": null,
"step_size": null,
"scale": null,
"reversible": null,
"parent_code": "finishing",
"images": [
{
"language": "all",
"url": "https://cdn.print-uploader.com/201803/74/6f7a271da0ab0f87.jpg"
}
]
}
],
"upload": true,
"uploaders": [
{
"type": "single",
"amount": 2,
"width": 40,
"height": 60,
"length": 0,
"minimal_dpi": 72,
"mirror_enabled": true,
"fill_enabled": true,
"rotation_enabled": true,
"file_limit": null,
"require_white_spot": false,
"required_cut_names": [],
"optional_cut_names": [],
"tiling_enabled": true,
"tiling_mandatory": false,
"tiling_direction": null,
"max_width_excl_overlap": 494,
"max_height_excl_overlap": 4700,
"max_width_incl_overlap": 490,
"max_height_incl_overlap": 4696,
"bleed_top": 1,
"bleed_right": 1,
"bleed_bottom": 1,
"bleed_left": 1
}
],
"linked_products": [
{
"title": "Banner 510",
"description": null,
"code": "banner-510",
"article_group_code": "MA",
"unit_code": "m2",
"shipping_weight": 0.75
}
],
"prices_total": {
"18": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"24": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"48": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"72": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"96": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"120": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"144": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"168": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"192": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"216": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"240": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"264": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"288": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"312": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"336": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"360": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"384": {
"purchase_price": 0.00,
"purchase_price_incl_vat": ,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"408": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"432": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0 ,
"sales_price_incl_vat": 0.0
},
"456": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
},
"480": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.00,
"sales_price": 0.0,
"sales_price_incl_vat": 0.0
}
},
"prices_per_product": {
"18": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"24": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"48": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"72": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"96": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"120": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"144": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"168": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"192": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"216": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat":0.0000
},
"240": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"264": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 4.05,
"sales_price_incl_vat": 0.0000
},
"288": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"312": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"336": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"360": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"384": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"408": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"432": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"456": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
},
"480": {
"purchase_price": 0.00,
"purchase_price_incl_vat": 0.0000,
"sales_price": 0.00,
"sales_price_incl_vat": 0.0000
}
}
}
],
"calculation_id": 6779185
}